#ifndef ENEMIES_H_
#define ENEMIES_H_

#include "mainlaser.h"

#define ENEMY_TYPE_TURRET 1
#define ENEMY_TYPE_STRIKER 2

#define ENEMY_MODE_NORMAL 0
#define ENEMY_MODE_EXPLODING 1
#define ENEMY_MODE_VANISHED 2

#define ENEMY_MODE_TURRET_DIRECTSHOOT 3

typedef struct enemy_node
{
	int enemyType;
	float x;
	float y;
	float heading;
	float gunDirection;
	float speed;
	int currentMode;
	int counter;
	float health;
	void (*handler) (void *);
	struct enemy_node *next;
} Enemy;

Enemy *enemies_enabled_head;
Enemy *enemies_disabled_head;

void enemiesInit();

void enemyDisable(Enemy *toBeRemoved, Enemy *prev);

void enemiesDrawUpdate();

Enemy *enemyGetNew(int enemyType);


#endif /*ENEMIES_H_*/
